package School_manage;

import java.util.ArrayList;
import java.util.List;


  //人员管理实现类

public class PersonManagerImpl<T extends Person> implements Person_Manage<T> {

    private List<T> persons = new ArrayList<>();

    /*
     * 添加一个人员对象到列表中
     */
    @Override
    public void add(T person) {
        persons.add(person);
    }

    /**
     * 根据指定 ID 删除人员
     * 使用 removeIf 方法遍历列表，删除第一个匹配 id 的对象
     */
    @Override
    public boolean remove(int id) {
        return persons.removeIf(p -> p.getId() == id);
    }

    @Override
    public List<T> getAll() {
        return new ArrayList<>(persons); // 返回副本，防止外部修改原始数据
    }
    @Override
    public T findById(int id) {
        for (T person : persons) {
            if (person.getId() == id) {
                return person; // 找到即返回
            }
        }
        return null; // 未找到返回 null
    }
}
